package tests;

import com.thoughtworks.selenium.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import java.util.regex.Pattern;

public class SeleniumTestsUC2 extends SeleneseTestBase {
	@Before
	public void setUp() throws Exception {
		// setUp("http://www.google.com/",
		// "*C:\\Program Files (x86)\\Internet Explorer\\iexplore.exe");
		selenium = new DefaultSelenium(
				"localhost",
				4444,
				"*firefox C:\\Program Files (x86)\\Apps\\Mozilla Firefox\\firefox.exe",
				"http://localhost:8080/");
		selenium.start();
	}

	@Test
	public void emailInGebruikTest() throws Exception {
		selenium.open("/to4-hu/registreren.jsp");
		selenium.type("name=voornaam", "Piet");
		selenium.type("name=achternaam", "Hein");
		selenium.type("name=adres", "Kanaalstraat 21");
		selenium.type("name=woonplaats", "Utrecht");
		selenium.type("name=telefoon", "0612345678");
		selenium.type("name=email", "piet.hein@mail.com");
		selenium.type("name=wachtwoord", "8272732");
		selenium.type("name=wachtwoordcheck", "8272732");
		selenium.click("css=button.btn");
		selenium.waitForPageToLoad("30000");
		verifyTrue(selenium.isTextPresent("Email al in gebruik"));
	}

	@Test
	public void succesvolRegisterTest() throws Exception {
		selenium.open("/to4-hu/index.jsp");
		selenium.click("link=Registreren");
		selenium.waitForPageToLoad("30000");
		selenium.type("name=voornaam", "Klaas");
		selenium.type("name=achternaam", "Keesen");
		selenium.type("name=adres", "Biltstraat 22");
		selenium.type("name=woonplaats", "Utrecht");
		selenium.type("name=telefoon", "0612345678");
		selenium.type("name=email", "klaas.keesen@mail.com");
		selenium.type("name=wachtwoord", "9383939");
		selenium.type("name=wachtwoordcheck", "9383939");
		selenium.click("css=button.btn");
		selenium.waitForPageToLoad("30000");
		verifyTrue(selenium
				.isTextPresent("U bent succesvol geregistreerd en kunt nu inloggen"));
	}

	@Test
	public void legeVeldenTest() throws Exception {
		selenium.open("/to4-hu/index.jsp");
		selenium.click("link=Registreren");
		selenium.waitForPageToLoad("30000");
		selenium.type("name=voornaam", "Henk");
		selenium.type("name=achternaam", "Peterse");
		selenium.type("name=telefoon", "0612345678");
		selenium.type("name=email", "henk.peterse@mail.com");
		selenium.type("name=wachtwoord", "9234342");
		selenium.type("name=wachtwoordcheck", "9234342");
		selenium.click("css=button.btn");
		selenium.waitForPageToLoad("30000");
		verifyTrue(selenium.isTextPresent("Adres kan niet leeggelaten worden"));
	}

	@Test
	public void wachtwoordTeKortTest() throws Exception {
		selenium.open("/to4-hu/index.jsp");
		selenium.click("link=Registreren");
		selenium.waitForPageToLoad("30000");
		selenium.type("name=voornaam", "kees");
		selenium.type("name=achternaam", "jan");
		selenium.type("name=adres", "Dorpstraat 22");
		selenium.type("name=woonplaats", "Houten");
		selenium.type("name=telefoon", "0612345678");
		selenium.type("name=email", "kees.jan@mail.com");
		selenium.type("name=wachtwoord", "99238");
		selenium.type("name=wachtwoordcheck", "99238");
		selenium.click("css=button.btn");
		selenium.waitForPageToLoad("30000");
		verifyTrue(selenium
				.isTextPresent("Wachtwoord dient langer te zijn dan 7 karakters"));
	}

	@Test
	public void wachtwoordenKomenNietOvereenTest() throws Exception {
		selenium.open("/to4-hu/index.jsp");
		selenium.click("link=Registreren");
		selenium.waitForPageToLoad("30000");
		selenium.type("name=voornaam", "nathalie");
		selenium.type("name=achternaam", "dijk");
		selenium.type("name=adres", "plantsoen 22");
		selenium.type("name=woonplaats", "groningen");
		selenium.type("name=telefoon", "0612345678");
		selenium.type("name=email", "nathalie.dijk@mail.com");
		selenium.type("name=wachtwoord", "9292999");
		selenium.type("name=wachtwoordcheck", "8283838");
		selenium.click("css=button.btn");
		selenium.waitForPageToLoad("30000");
		verifyTrue(selenium.isTextPresent("Wachtwoorden zijn niet het zelfde"));
	}

	@After
	public void tearDown() throws Exception {
		selenium.stop();
	}
}
